﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CapstoneProjectAEReader.GUIs.LibraryGUI
{
    public class BookList : ObservableCollection<BookInfo>
    {
        public BookList()
            : base()
        {
            Add(new BookInfo("LocalImages/Cover.jpeg", "Image/Rating/5_Star.png", "Sword Art Online 2"));
            Add(new BookInfo("LocalImages/SkyRim.jpeg", "Image/Rating/4_Star.png", "The Elder Scrolls V: Skyrim"));
            Add(new BookInfo("LocalImages/MetalGear.jpg", "Image/Rating/2_Star.png", "Metal Gear Rising: Revengeance"));

            Add(new BookInfo("LocalImages/FireEmble.jpg", "Image/Rating/3_Star.png", "Fire Emblem: Awakening"));
            Add(new BookInfo("LocalImages/NiNoKuni.jpg", "Image/Rating/0_Star.png", "Ni no Kuni: Wrath of the White Witch"));
            Add(new BookInfo("LocalImages/LOL.jpeg", "Image/Rating/1_Star.png", "League of Legends"));

        }
    }

    public class BookInfo
    {
        private string cover;
        private string name;
        private string rate = "Image/Rating/0_Star.png";
        private string author = "Get authors from metadata";
        private string publisher = "Get Publisher from metadata";
        private string dateAdd = "Get Date Add from DataBase";
        private string fileType = "Get File Type from C#";
        private string description = "Description goes here";

        public BookInfo(string gCover, string gRate, string gName)
        {
            this.cover = gCover;
            this.rate = gRate;
            this.name = gName;
        }

        public string Cover
        {
            get { return cover; }
            set { cover = value; }
        }

        public string BookName
        {
            get { return name; }
            set { name = value; }
        }

        public string Star
        {
            get { return rate; }
            set { rate = value; }
        }

        public string Author
        {
            get { return author; }
            set { author = value; }
        }

        public string Publisher
        {
            get { return publisher; }
            set { publisher = value; }
        }

        public string DateAdd
        {
            get { return dateAdd; }
            set { dateAdd = value; }
        }

        public string FileType
        {
            get { return fileType; }
            set { fileType = value; }
        }

        public string Description
        {
            get { return description; }
            set { description = value; }
        }
    }
}
